using System.Collections.Generic;
using UnityEngine;
using Object = UnityEngine.Object;
using System;

namespace Animancer
{
    public class AnimancerTransitionAsset<TTransition> : ScriptableObject, ITransition, IWrapper, IAnimationClipSource where TTransition : ITransition
    {
        public ref TTransition Transition => throw new NotImplementedException();
        public virtual ITransition GetTransition() => throw new NotImplementedException();
        object IWrapper.WrappedObject => throw new NotImplementedException();
        public virtual bool IsValid => throw new NotImplementedException();
        public virtual float FadeDuration => throw new NotImplementedException();
        public virtual object Key => throw new NotImplementedException();
        public virtual FadeMode FadeMode => throw new NotImplementedException();
        public virtual AnimancerState CreateState() => throw new NotImplementedException();
        public virtual void Apply(AnimancerState state)
        {
            throw new NotImplementedException();
        }

        public virtual void GetAnimationClips(List<AnimationClip> clips) => throw new NotImplementedException();
    }
}